<?php

namespace app\admin\controller;

use think\Controller;
use think\Request;
use app\admin\model\UserModel;
use think\facade\Session;
use think\facade\Env;

class UserController extends Controller
{
    /**
     * 显示资源列表
     *
     * @return \think\Response
     */
    public function index()
    {
        //显示用户列表
        $where = [];
        //昵称搜索
        if (isset($_GET['nick_name']) && !empty($_GET['nick_name'])) {
            $where[] = ['nick_name', 'like', '%'.$_GET['nick_name'].'%'];
        }
        //手机号搜索
        if (isset($_GET['tel']) && !empty($_GET['tel'])) {
            $where[] = ['tel', 'like', '%'.$_GET['tel'].'%'];
        }
        //查询用户信息
        $data = UserModel::where($where)->order('id desc')->field('openid',true)->all();
        //判断是否为空
        if (count($data) != 0){
            //加入总条数
            $data['totle'] = count($data);
            //返回数据
            return \sendResponse($data);
        }
        //返回空
        return \sendResponse([]);
    }

    /**
     * 显示创建资源表单页.
     *
     * @return \think\Response
     */
    public function create()
    {
        //
    }

    /**
     * 登录
     *
     * @param  \think\Request  $request
     * @return \think\Response
     */
    public function save(Request $request)
    {
        //判断code是否为空
        if (empty($request->post('code'))) {
            return \sendResponse('', 601);
        }
        //判断昵称是否为空
        if (empty($request->post('nick_name'))) {
            return \sendResponse('', 602);
        }
        //判断手机号是否为空
        if (empty($request->post('tel'))) {
            return \sendResponse('', 603);
        }
        //接收code
        $code = $request->post('code');
        //获取appid
        $appid = Env::get('APPID');
        //获取secret
        $secret = Env::get('APPSECRET');
        //请求链接
        $url = "https://api.weixin.qq.com/sns/jscode2session?appid=$appid&secret=$secret&js_code=$code&grant_type=authorization_code";
        //发送请求
        $code_res = httpGet($url);
        // dump($code_res);die;
        //获取openid
        // $openid = $code_res['openid'];
        $openid = '111';
        
        //接收用户信息
        $where['nick_name'] = $request->post('nick_name');
        //接收手机号
        $where['tel'] = $request->post('tel');
        //接收openid
        $where['openid'] = $openid;
        //查询单条数据
        $users = UserModel::where($where)->find();
        //获取用户id
        $uid = $users['id'];
        //判断用户是否登录过后台
        if (!$users) {
            //未登录过后台,插入数据库
            $res = UserModel::create($where);
            //获取插入后用户id
            $uid = (int)$res->id;
            if (!$res){
                return \sendResponse('', -1);
            }
        } else {
            //登录过后台的用户修改此用户
            $res = UserModel::update($where, ['id'=> $uid]);
            if (!$res) {
                return \sendResponse('', -1);
            }
        }
        //对uid加密
        $uid = think_encrypt($uid);
        //存入session
        Session::set('uid', $uid);
        //登录成功返回用户id
        return \sendResponse(['uid'=>$uid, 'openid'=> '']);
        

    }

    /**
     * 显示指定的资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function read($id)
    {
        //
    }

    /**
     * 显示编辑资源表单页.
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function edit($id)
    {
        //
    }

    /**
     * 保存更新的资源
     *
     * @param  \think\Request  $request
     * @param  int  $id
     * @return \think\Response
     */
    public function update(Request $request, $id)
    {
        //
    }

    /**
     * 删除指定资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function delete($id)
    {
        //
    }
}
